package site.xuqing.autohelper.listener;

import site.xuqing.autohelper.bean.StepCallbackBean;

public interface OnStepListener {
    /**
     * 步骤开始
     */
    void onStart(StepCallbackBean stepCallbackBean) throws Exception;
    /**
     * 所有的动作执行完毕回调
     */
    void onStepScriptExecuteFinish(StepCallbackBean stepCallbackBean) throws Exception;

    /**
     * 步骤执行数据回调
     * @param stepCallbackBean 回调数据
     */
    void onStepDataCallback(StepCallbackBean stepCallbackBean) throws Exception;

    /**
     * 步骤执行错误回调
     * @param stepCallbackBean 回调数据
     */
    void onError(StepCallbackBean stepCallbackBean) throws Exception;

    /**
     * 执行一次同步的回调
     * @return 是否同步执行完成
     */
    StepCallbackBean onSyncCallback(StepCallbackBean stepCallbackBean) throws Exception;

    /**
     * 执行一次异步回调
     */
    void onAsyncCallback(StepCallbackBean stepCallbackBean) throws Exception;
}
